Cache-sensitive Memory Layout for Binary Trees
نویسندگان
چکیده
We improve the performance of main-memory binary search trees (including AVL and red-black trees) by applying cache-sensitive and cacheoblivious memory layouts. We relocate tree nodes in memory according to a multi-level cache hierarchy, also considering the conflict misses produced by set-associative caches. Moreover, we present a method to improve onelevel cache-sensitivity without increasing the time complexity of rebalancing. The empirical performance of our cache-sensitive binary trees is comparable to cache-sensitive B-trees. We also use the multi-level layout to improve the performance of cache-sensitive B-trees.
منابع مشابه
Index Search Algorithms for Databases and Modern CPUs
Over the years, many different indexing techniques and search algorithms have been proposed, including CSS-trees, CSB+-trees, k-ary binary search, and fast architecture sensitive tree search. There have also been papers on how best to set the many different parameters of these index structures, such as the node size of CSB+-trees. These indices have been proposed because CPU speeds have been in...
متن کاملOptimal Cache-Oblivious Mesh Layout
This paper shows how to generate a cache-oblivious memory layout of a well-shaped finite-element mesh G. This cache-oblivious mesh layout enables asymptotically optimal mesh updates, in which each vertex communicates with all of its neighbors. Mesh updates is the building block of iterative linear system solver. For block size B and cache size M, the mesh update cost is O(1+ |G|/B), assuming th...
متن کاملCache Conscious Indexing for Decision-Support in Main Memory
We study indexing techniques for main memory, including hash indexes, binary search trees, T-trees, B+-trees, interpolation search, and binary search on arrays. In a decision-support context, our primary concerns are the lookup time, and the space occupied by the index structure. Our goal is to provide faster lookup times than binary search by paying attention to reference locality and cache be...
متن کاملCST-Trees: Cache Sensitive T-Trees
Researchers have modified existing index structures into ones optimized for CPU cache performance in main memory database environments. A Cache Sensitive B+-Tree is one of them. It is designed to minimize the impact of cache misses for B+-Trees and it has been known to be more effective than other types of main memory index structure including T-Trees. In this paper, we introduce a Cache Sensit...
متن کاملMaking T-Trees Cache Conscious on Commodity Microprocessors
Recent research shows that the database performance can be significantly improved by the effective cache utilization of the conventional microprocessors. Researchers have modified existing index structures into ones optimized for CPU cache performance in main memory database environments. A Cache Sensitive B+-Tree is designed to minimize the impact of cache misses for B+-Trees and it has been k...
متن کامل